#ifndef GEN_STATE_H
#define GEN_STATE_H


#include "Game.h"
#include "Camera.h"
#include "GameState.h"
#include "GameObject.h"
#include "Effect.h"
#include "Building.h"
#include <D3dx9math.h>
#include <vector>

class GeneratingState : public GameState
{
public:
	void Init();
	void Clean();

	void Pause();
	void Resume();

	void HandleInput();
	void HandleCollisions();
	void Update(float dt);
	void Render();
	//void addGameObject(GameObject* g){m_vGameObjects.push_back(g);}

	static GeneratingState* Instance()
	{
		return &m_GeneratingState;
	}

protected:
	GeneratingState(){}

private:
	std::string m_EffectName;
	static GeneratingState m_GeneratingState;
	Building* m_GenObject;
	Camera* m_pCamera;
	D3DXVECTOR3 m_vLightDir;
	D3DXVECTOR3 m_vRotation;
	Effect* m_pEffect;
	bool m_bWireframe;
	bool pressed;
};

#endif
